package cn.iocoder.yudao.module.member.enums;

import cn.iocoder.yudao.framework.common.exception.ErrorCode;

/**
 * Member 错误码枚举类
 * <p>
 * member 系统，使用 1-004-000-000 段
 */
public interface ErrorCodeConstants {

    // ========== 用户相关  1-004-001-000 ============
    ErrorCode USER_NOT_EXISTS = new ErrorCode(1_004_001_000, "用户不存在");
    ErrorCode USER_MOBILE_NOT_EXISTS = new ErrorCode(1_004_001_001, "手机号未注册用户");
    ErrorCode USER_MOBILE_USED = new ErrorCode(1_004_001_002, "修改手机失败，该手机号({})已经被使用");
    ErrorCode USER_POINT_NOT_ENOUGH = new ErrorCode(1_004_001_003, "用户积分余额不足");
    ErrorCode USER_VERIFICATION_CODE = new ErrorCode(1_004_001_004, "用户验证码不存在");
    ErrorCode USER_VERIFICATION_CODE_ERROR = new ErrorCode(1_004_001_005, "用户验证码不匹配");

    // ========== AUTH 模块 1-004-003-000 ==========
    ErrorCode AUTH_LOGIN_BAD_CREDENTIALS = new ErrorCode(1_004_003_000, "登录失败，账号密码不正确");
    ErrorCode AUTH_LOGIN_USER_DISABLED = new ErrorCode(1_004_003_001, "登录失败，账号被禁用");
    ErrorCode AUTH_SOCIAL_USER_NOT_FOUND = new ErrorCode(1_004_003_005, "登录失败，解析不到三方登录信息");
    ErrorCode AUTH_MOBILE_USED = new ErrorCode(1_004_003_007, "手机号已经被使用");

    // ========== 用户收件地址 1-004-004-000 ==========
    ErrorCode ADDRESS_NOT_EXISTS = new ErrorCode(1_004_004_000, "用户收件地址不存在");

    //========== 用户标签 1-004-006-000 ==========
    ErrorCode TAG_NOT_EXISTS = new ErrorCode(1_004_006_000, "用户标签不存在");
    ErrorCode TAG_NAME_EXISTS = new ErrorCode(1_004_006_001, "用户标签已经存在");
    ErrorCode TAG_HAS_USER = new ErrorCode(1_004_006_002, "用户标签下存在用户，无法删除");

    //========== 积分配置 1-004-007-000 ==========

    //========== 积分记录 1-004-008-000 ==========
    ErrorCode POINT_RECORD_BIZ_NOT_SUPPORT = new ErrorCode(1_004_008_000, "用户积分记录业务类型不支持");

    //========== 签到配置 1-004-009-000 ==========
    ErrorCode SIGN_IN_CONFIG_NOT_EXISTS = new ErrorCode(1_004_009_000, "签到天数规则不存在");
    ErrorCode SIGN_IN_CONFIG_EXISTS = new ErrorCode(1_004_009_001, "签到天数规则已存在");

    //========== 签到配置 1-004-010-000 ==========
    ErrorCode SIGN_IN_RECORD_TODAY_EXISTS = new ErrorCode(1_004_010_000, "今日已签到，请勿重复签到");

    //========== 用户等级 1-004-011-000 ==========
    ErrorCode LEVEL_NOT_EXISTS = new ErrorCode(1_004_011_000, "用户等级不存在");
    ErrorCode LEVEL_NAME_EXISTS = new ErrorCode(1_004_011_001, "用户等级名称[{}]已被使用");
    ErrorCode LEVEL_VALUE_EXISTS = new ErrorCode(1_004_011_002, "用户等级值[{}]已被[{}]使用");
    ErrorCode LEVEL_EXPERIENCE_MIN = new ErrorCode(1_004_011_003, "升级经验必须大于上一个等级[{}]设置的升级经验[{}]");
    ErrorCode LEVEL_EXPERIENCE_MAX = new ErrorCode(1_004_011_004, "升级经验必须小于下一个等级[{}]设置的升级经验[{}]");
    ErrorCode LEVEL_HAS_USER = new ErrorCode(1_004_011_005, "用户等级下存在用户，无法删除");

    ErrorCode EXPERIENCE_BIZ_NOT_SUPPORT = new ErrorCode(1_004_011_201, "用户经验业务类型不支持");

    //========== 用户分组 1-004-012-000 ==========
    ErrorCode GROUP_NOT_EXISTS = new ErrorCode(1_004_012_000, "用户分组不存在");
    ErrorCode GROUP_HAS_USER = new ErrorCode(1_004_012_001, "用户分组下存在用户，无法删除");

    //========== 用户设备数 1-004-020-000 ==========
    ErrorCode USER_DEVICE_NOT_ENOUGH = new ErrorCode(1_004_020_001, "用户设备数量余额不足");
    //
    ErrorCode USER_ORDER_NOT_EXISTS =  new ErrorCode(1_004_030_001, "充值记录不存在");
    ErrorCode USER_ORDER_STATUS =  new ErrorCode(1_004_030_002, "订单已完成");
    ErrorCode USER_ORDER_PAYMENT_TYPE =  new ErrorCode(1_004_030_003, "支付类型错误");

    //========== 证书订单 1-004-031-000 ==========
    ErrorCode USER_CERTIFICATE_ORDER_UDID =  new ErrorCode(1-004-031-001, "同一个用户同一个udid在一个类型里面只能存在一个订单");
    ErrorCode USER_CERTIFICATE_ORDER_UDID_OUT =  new ErrorCode(1-004-031-999, "超过售后时间");

    ErrorCode USER_CERTIFICATE_ORDER_NOT_RETURN =  new ErrorCode(1-004-031-002, "未返回设备信息");
    ErrorCode USER_CERTIFICATE_ORDER_NOT_SELECT =  new ErrorCode(1-004-031-003, "未找到对应的设备信息");

    ErrorCode USER_CERTIFICATE_ORDER_PRICE =  new ErrorCode(1-004-031-004, "未找到价格配置");

    ErrorCode USER_CERTIFICATE_ORDER_SITECONFIG =  new ErrorCode(1-004-031-005, "未找到公共池证书配置");


    ErrorCode POINT_ENUM_EXISTS = new ErrorCode(1_004_001_999, "积分操作类型不存在");

    ErrorCode PRICE_EXISTS = new ErrorCode(1_004_001_998, "未找到对应的销售本价");


    ErrorCode DEVICE_EXISTS = new ErrorCode(1_004_001_997, "用户设备配置异常");

    ErrorCode DEVICE_PRICE_EXISTS = new ErrorCode(1_004_001_996, "购买设备时价格异常");

    ErrorCode DEVICE_PRICE_ONE = new ErrorCode(1_004_001_995, "前端站点配置必须存在购买设备数为1的数据");
    ErrorCode PRICE_COST_EXISTS = new ErrorCode(1_004_001_994, "未找到对应的成本价");

    ErrorCode PROFIT_TYPE_ON = new ErrorCode(1_004_001_993, "未知利润计算类型");

    ErrorCode PRICE_COST_TIME_OUT_EXISTS = new ErrorCode(1_004_001_992, "未找到对应的售后时间");


    ErrorCode PREFIX_ERROR =  new ErrorCode(1_004_001_991, "不允许配置常用二级域名");
    ErrorCode PREFIX_ERROR_REPEAT =  new ErrorCode(1_004_001_990, "分销前缀不能重复");

    ErrorCode INCOMPLETE_CONFIGURATION = new ErrorCode(1_004_001_989, "公共池类型{}配置明细为空");
    ErrorCode CARD_NOT = new ErrorCode(1_004_001_988, "卡密不存在");
    ErrorCode CARD_EXCHANGE = new ErrorCode(1_004_001_987, "卡密已兑换");
    ErrorCode CARD_EXCHANGE_STATUS = new ErrorCode(1_004_001_986, "当前卡密已被禁用");
    ErrorCode CARD_EXCHANGE_NOT = new ErrorCode(1_004_001_985, "兑换失败{}");
    ErrorCode USER_POINT_NOT_ZERO = new ErrorCode(1_004_001_984, "用户积分余额不能为负数");
    ErrorCode USER_DEVICE_NOT_ZERO = new ErrorCode(1_004_001_983, "用户设备余额不能为负数");
    ErrorCode FILEAPI_NOT =  new ErrorCode(1_004_001_982, "P12文件未找到");
    ErrorCode DROP_SIGNATURE_ERROR =  new ErrorCode(1_004_001_981, "证书掉签检査异常{}");
    ErrorCode USER_DISABLED = new ErrorCode(1_004_001_980, "账号被禁用");

    ErrorCode MAIN_URL_NOT =  new ErrorCode(1_004_001_979, "未找到主域名");
    ErrorCode MAIN_URL_EXCEPTION =   new ErrorCode(1_004_001_978, "主系统抛出异常信息{}");

    ErrorCode MAIN_URL_ERROR =  new ErrorCode(1_004_001_977, "主系统调用失败");
    ErrorCode  UP_LOAD_ERROR =   new ErrorCode(1_004_001_976, "没有上传文件的权限{}");
    ErrorCode  LINK_FLAG_TRUE =   new ErrorCode(1_004_001_975, "只能存在一个启用的外部连接");
    ErrorCode  LINK_FLAG_TRUE_UNREALIZED =   new ErrorCode(1_004_001_974, "未实现的策略{}");
    ErrorCode  LINK_REPEAT =   new ErrorCode(1_004_001_973, "主站点配置重复{}");

    ErrorCode THIRD_TYPE_ERROR =  new ErrorCode(1_004_001_972, "第三方未知类型设备");
    ErrorCode ERROR_MESSAGE_REPEAT = new ErrorCode(1_004_001_998, "15秒内只能下一次单");
    ErrorCode REPEAT_REQUEST =   new ErrorCode(1_004_011_977, "重试连接失败");
    ErrorCode THREAD_ERROR_CODE =   new ErrorCode(1_022_001_977, "第三方系统请求超时");

}
